/**
 * @Company:无敌
 * @Title:BaseDao.java
 * @Author:40313
 * @Date:2020-12-17 10:48:25
 */
package com.situ.oa.base.dao;

import java.util.List;

/**
 * @author 40313
 * @ClassName:BaseDao
 * @Description:(基本的DAO的接口)
 */
public interface BaseDao<T> {
    /**
     *
     * @Title: save
     * @Description:(更新一个对象)
     * @param t 要保存的对象
     * @return 受影响的行数
     */
    int save(T t);

    /**
     *
     * @Title: update
     * @Description:(更新一个对象)
     * @param t 要修改的对象
     * @return 受影响的行数
     */
    int update(T t);

    /**
     *
     * @Title: delete
     * @Description:(根据主键删除一个对象)
     * @param rowId 要删除的主键
     * @return 受影响的行数
     */
    int delete(Long rowId);

    /**
     *
     * @Title: seleteOne
     * @Description:(根据主键查询一个对象)
     * @param rowId    要查询的主键
     * @return 查询得到的对象
     */
    T selectOne(Long rowId);

    /**
     *
     * @Title: selectAll
     * @Description:(查询所有对象)
     * @return 查询得到的对象的集合
     */
    List<T> selectAll();
}
